このチュートリアルでは、C1Chart をプログラムでデータセットにバインドするための手順を説明します。データは、製品の名前を表す1本の y 軸と、各製品の単価を表す1本の x 軸を持つ単純な横棒グラフとして情報を表示します。最も高価な 10 種類の製品が降順で表示されます。横棒グラフでは、1つの系列を使用して単価を表示します。系列が1つしかないため、凡例は使用しません。
このグラフは、サンプルの Access データベース Nwind.mdb のデータを使用します。このクイックスタートでは、データベースファイル Nwind.mdb が C:\Users\<ユーザー名>\Documents\ComponentOne Samples\Common ディレクトリに置かれているものとし、このデータベースに言及する際は、簡潔にするため、フルパスではなくファイル名を使用します。
このチュートリアルを完了すると、グラフの表示は次のようになります。
Visual Studio で新しい WPF プロジェクトを作成します。
C1.WPF.C1Chart の参照をプロジェクトに追加します。
C1Chart コントロールをウィンドウに追加します。
C1Chart コントロールがウィンドウに配置されたら、次の XAML コードを追加します。
XAML |
コードのコピー
|
---|---|
Title="Window1" Height="300" Width="500" xmlns:c1chart="clr-namespace:C1.WPF.C1Chart;assembly=C1.WPF.C1Chart" Loaded="Window_Loaded"> <Grid> <c1chart:C1Chart Content="" Margin="10,10,10,18" Name="c1Chart1"> <c1chart:C1Chart.Data> <c1chart:ChartData> <c1chart:ChartData.ItemNames>P1 P2 P3 P4 P5</c1chart:ChartData.ItemNames> <c1chart:DataSeries Label="系列1" Values="20 22 19 24 25" /> <c1chart:DataSeries Label="系列2" Values="8 12 10 12 15" /> </c1chart:ChartData> </c1chart:C1Chart.Data> <c1chart:Legend DockPanel.Dock="Right" /> </c1chart:C1Chart> </Grid> |
「XAML」タブを選択して、次の名前空間を XAML コードに追加します。
XAML |
コードのコピー
|
---|---|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
XAML コードで、タイトルの Width を「300」から「500」に変更します。
XAML |
コードのコピー
|
---|---|
<c1chart:C1Chart Margin="0" Name="c1Chart1" ChartType="Bar"> </c1chart:C1Chart> |
グラフは次のように表示されます。
c1chart:C1Chart の終了タグの後でラベルを作成して、そのテキストを「最も高価な 10 製品」とします。
XAML |
コードのコピー
|
---|---|
<TextBlock DockPanel.Dock="Top" Text="最も高価な 10 製品" HorizontalAlignment="Center"/> |
これで、XAML コードは次のようになるはずです。
XAML |
コードのコピー
|
---|---|
<Grid> <c1chart:C1Chart Margin="0" Name="c1Chart1" ChartType="Bar" Height="185" VerticalAlignment="Top"> <c1chart:C1Chart.Data> <c1chart:ChartData> <c1chart:DataSeries Label="系列1" Values="20 22 19 24 25" /> <c1chart:DataSeries Label="系列2" Values="8 12 10 12 15" /> </c1chart:ChartData> </c1chart:C1Chart.Data> <c1chart:Legend DockPanel.Dock="Right" /> </c1chart:C1Chart> <TextBlock DockPanel.Dock="Top" Text="最も高価な 10 製品" HorizontalAlignment="Center"/> </Grid>> |
次の using 指示文または imports 指示文を、コードビハインドファイルに追加します。
データセットの変数を Window_Loaded プロシージャの外部で宣言して、製品と単価をデータベースから取得するために次のコードを追加します。
XAML |
コードのコピー
|
---|---|
<c1chart:ChartData.ItemNames>P1 P2 P3 P4 P5</c1chart:ChartData.ItemNames> <c1chart:DataSeries Label="系列1" Values="20 22 19 24 25" /> <c1chart:DataSeries Label="系列2" Values="8 12 10 12 15" /> |
これで、ウィンドウ上のC1Chart コントロールの表示は空になります。
<c1chart:C1Chart.Data> タグ内で、ItemNameBindingプロパティを ChartData に追加して要素(この場合は y 軸のラベル)の名前を指定し、ValueBindingプロパティを DataSeries に追加して系列の数値を指定します。
XAML |
コードのコピー
|
---|---|
<c1chart:ChartData ItemNameBinding="{Binding Path=[ProductName]}"> <c1chart:DataSeries ValueBinding="{Binding Path=[UnitPrice]}"/> </c1chart:ChartData> |
プロジェクトの XAML コードは、次のようになるはずです。
XAML |
コードのコピー
|
---|---|
<Window x:Class="Chart for WPF_QuickStart.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" Title="Window1" Height="300" Width="500" Loaded="Window_Loaded" xmlns:c1chart="clr-namespace:C1.WPF.C1Chart;assembly=C1.WPF.C1Chart"> <Grid> <c1chart:C1Chart Margin="0" Name="c1Chart1" ChartType="Bar"> <TextBlock DockPanel.Dock="Top" Text="最も高価な 10 製品" HorizontalAlignment="Center"/> <c1chart:C1Chart.Data> <c1chart:ChartData ItemNameBinding="{Binding Path=[ProductName]}"> <c1chart:DataSeries ValueBinding="{Binding Path=[UnitPrice]}"/> </c1chart:ChartData> </c1chart:C1Chart.Data> </c1chart:C1Chart> </Grid> </Window> |
<c1chart:Legend DockPanel.Dock="Right" /> タグを XAML から削除して、組み込みの Legend コントロールを削除します。
グラフに Products テーブルのデータが表示されます。